//  class LevelEditor extends egret.Sprite {
// 	private _SafeStr_152:number = 20;
// 	private _SafeStr_167:egret.GlowFilter = new egret.GlowFilter(0xFFFF00,0.8,6,6);
// 	private _SafeStr_159:number = 0;
// 	private _SafeStr_160:number = 220;
// 	private _SafeStr_156:number = 1;
// 	private _SafeStr_161:number = 150;
// 	private _SafeStr_155:egret.GlowFilter = new egret.GlowFilter(0xFFFF00,0.8,10,10);
// 	private _SafeStr_148:ui.SimpleGUI = null;
// 	private _SafeStr_149:com.bit101.components.ComboBox = null;
// 	private _SafeStr_151:number = 3;
// 	private _aiSpeed:com.bit101.components.ComboBox = null;
// 	private _SafeStr_166:number = 10;
// 	private _SafeStr_165:boolean = false;
// 	private _SafeStr_154:Fence = null;
// 	private _maxPower:com.bit101.components.HUISlider = null;
// 	private _lvl:Level = null;
// 	private _SafeStr_164:boolean = false;
// 	private _SafeStr_163:boolean = false;
// 	private _SafeStr_150:Cell = null;

// 	public constructor(game:Main,levelCode:string)
// 	{
// 		super();
// 		var _self__:any = this;
// 		this._lvl = new Level(game,"",200);
// 		this._lvl.suspend();
// 		if(levelCode)
// 		{
// 			this._lvl.initFromCode(levelCode);
// 		}
// 		_self__.addChild(this._lvl);
// 		this._SafeStr_168();
// 		var g:egret.Graphics = this.graphics;
// 		g.beginFill(0,0);
// 		g.drawRect(0,0,GUI.MAX_X,GUI.MAX_Y);
// 		g.endFill();
// 		_self__.addEventListener(egret.TouchEvent.TOUCH_BEGIN,flash.bind(this._SafeStr_145,this),null);
// 		_self__.addEventListener(egret.TouchEvent.TOUCH_END,flash.bind(this._SafeStr_146,this),null);
// 		_self__.addEventListener(egret.TouchEvent.TOUCH_MOVE,flash.bind(this.onMouseMove,this),null);
// 		if(this.stage)
// 		{
// 			this._SafeStr_147();
// 		}
// 		else
// 		{
// 			_self__.addEventListener(egret.Event.ADDED_TO_STAGE,flash.bind(this._SafeStr_147,this),null);
// 		}
// 	}

// 	public get maxPower():number
// 	{
// 		return (this._lvl.maxPower);
// 	}

// 	public set maxPower(power:number)
// 	{
// 		power = flash.checkInt(power);
// 		this._lvl.maxPower = power;
// 	}

// 	public get selectedCellType():number
// 	{
// 		return ((this._SafeStr_150)?this._SafeStr_150.type:this._SafeStr_151);
// 	}

// 	private _SafeStr_153(fence:Fence,pivotX:number,pivotY:number)
// 	{
// 		var dx:number = 0;
// 		var dy:number = 0;
// 		var dist1:number = 0;
// 		var dist2:number = 0;
// 		if(this._SafeStr_154)
// 		{
// 			this._SafeStr_154.filters = [];
// 			if(this._SafeStr_148)
// 			{
// 				this._SafeStr_148["hide"]();
// 				this._SafeStr_148 = null;
// 			}
// 		}
// 		this._SafeStr_154 = fence;
// 		if(fence)
// 		{
// 			this._SafeStr_164 = true;
// 			this._SafeStr_154.filters = [this._SafeStr_155];
// 			dx = (fence.x1 - pivotX);
// 			dy = (fence.y1 - pivotY);
// 			dist1 = Math.sqrt(((dx * dx) + (dy * dy)));
// 			dx = (fence.x2 - pivotX);
// 			dy = (fence.y2 - pivotY);
// 			dist2 = Math.sqrt(((dx * dx) + (dy * dy)));
// 			this._SafeStr_165 = ((dist2 > dist1)?true:false);
// 			if(<any>!this._SafeStr_148)
// 			{
// 				this._SafeStr_148 = this._SafeStr_158(this._SafeStr_156);
// 			}
// 		}
// 	}

// 	public destruct()
// 	{
// 		var _self__:any = this;
// 		_self__.removeEventListener(egret.TouchEvent.TOUCH_BEGIN,flash.bind(this._SafeStr_145,this),null);
// 		_self__.removeEventListener(egret.TouchEvent.TOUCH_END,flash.bind(this._SafeStr_146,this),null);
// 		_self__.removeEventListener(egret.TouchEvent.TOUCH_MOVE,flash.bind(this.onMouseMove,this),null);
// 		this.stage.removeEventListener(flash.KeyboardEvent.KEY_DOWN,flash.bind(this._SafeStr_157,this),null);
// 		this._lvl.destruct();
// 		this._lvl = null;
// 		if(this.parent)
// 		{
// 			this.parent.removeChild(this);
// 		}
// 	}

// 	private _SafeStr_158(_arg_1:number):ui.SimpleGUI
// 	{
	
// 		var gui:ui.SimpleGUI = <any>new SimpleGUI(this,((_arg_1 == this._SafeStr_159)?GUI.TXT_MICROBE:GUI.TXT_WALL));
// 		gui["setPos"](0,this._SafeStr_152);
// 		if(this._SafeStr_150)
// 		{
// 			if(((this._SafeStr_150.x < this._SafeStr_160) && (this._SafeStr_150.y < this._SafeStr_161)))
// 			{
// 				gui["setPos"]((this._SafeStr_160 + 20),this._SafeStr_152);
// 			}
// 		}
// 		if(_arg_1 == this._SafeStr_159)
// 		{
// 			gui["addComboBox"]("selectedCellType",[{"label":GUI.TXT_GREEN,"data":Cell.TYPE_GREEN},{"label":GUI.TXT_RED,"data":Cell.TYPE_RED},{"label":GUI.TXT_BLACK,"data":Cell.TYPE_BLACK},{"label":GUI.TXT_PURPLE,"data":Cell.TYPE_PURPLE},{"label":GUI.TXT_NEUTRAL,"data":Cell.TYPE_GREY}],{"label":GUI.TXT_CLASS,"width":"120"});
// 			gui["addSlider"]("selectedCellPower",5,200,{"label":GUI.TXT_POWER,"labelPrecision":-1,"width":180});
// 			gui["addButton"](GUI.TXT_DELETE_MICROBE,{"callback":flash.bind(this._SafeStr_162,this),"width":150});
// 		}
// 		else
// 		{
// 			gui["addButton"](GUI.TXT_DELETE_WALL,{"callback":flash.bind(this._SafeStr_162,this),"width":150});
// 		}
// 		gui["show"]();
// 		return (gui);
// 	}

// 	private _SafeStr_147(e:egret.Event = null)
// 	{
// 		var _self__:any = this;
// 		_self__.removeEventListener(egret.Event.ADDED_TO_STAGE,flash.bind(this._SafeStr_147,this),null);
// 		this.stage.addEventListener(flash.KeyboardEvent.KEY_DOWN,flash.bind(this._SafeStr_157,this),null);
// 	}

// 	private onMouseMove(e:flash.MouseEvent)
// 	{
// 		if(this._SafeStr_163)
// 		{
// 			return ;
// 		}
// 		if(((this._SafeStr_164) && (e.touchDown)))
// 		{
// 			if(this._SafeStr_150)
// 			{
// 				this._SafeStr_150.x = e.stageX;
// 				this._SafeStr_150.y = e.stageY;
// 			}
// 			else
// 			{
// 				if(this._SafeStr_154)
// 				{
// 					if(this._SafeStr_165)
// 					{
// 						this._SafeStr_154.x1 = e.stageX;
// 						this._SafeStr_154.y1 = e.stageY;
// 					}
// 					else
// 					{
// 						this._SafeStr_154.x2 = e.stageX;
// 						this._SafeStr_154.y2 = e.stageY;
// 					}
// 				}
// 			}
// 			if(this._SafeStr_148)
// 			{
// 				if(((e.stageX < this._SafeStr_160) && (e.stageY < this._SafeStr_161)))
// 				{
// 					this._SafeStr_148["setPos"]((this._SafeStr_160 + 20),this._SafeStr_152);
// 				}
// 				else
// 				{
// 					this._SafeStr_148["setPos"](0,this._SafeStr_152);
// 				}
// 			}
// 		}
// 	}

// 	private _SafeStr_146(e:flash.MouseEvent)
// 	{
// 		this._SafeStr_164 = false;
// 	}

// 	private _SafeStr_157(e:flash.KeyboardEvent)
// 	{
// 		if(e.keyCode == 46)
// 		{
// 			this._SafeStr_162();
// 		}
// 	}

// 	private _SafeStr_145(e:flash.MouseEvent)
// 	{
// 		var cell:Cell;
// 		var fence:Fence;
// 		if(this._SafeStr_163)
// 		{
// 			return ;
// 		}
// 		if((flash.As3is(e.target,Cell)))
// 		{
// 			this._SafeStr_153(null,0,0);
// 			this._SafeStr_169((flash.As3As(e.target,Cell)));
// 		}
// 		else
// 		{
// 			if((flash.As3is(e.target,Fence)))
// 			{
// 				this._SafeStr_169(null);
// 				this._SafeStr_153((flash.As3As(e.target,Fence)),e.stageX,e.stageY);
// 			}
// 		}
// 		if(e.target == this)
// 		{
// 			this._SafeStr_169(null);
// 			this._SafeStr_153(null,0,0);
// 			if(this._SafeStr_149["selectedIndex"] == this._SafeStr_159)
// 			{
// 				cell = this._lvl.addCell(e.stageX,e.stageY,this._SafeStr_151,this._SafeStr_166,this._lvl.maxPower);
// 				if(cell != null)
// 				{
// 					cell.suspend();
// 				}
// 				this._SafeStr_169(cell);
// 			}
// 			else
// 			{
// 				if(this._SafeStr_149["selectedIndex"] == this._SafeStr_156)
// 				{
// 					fence = this._lvl.addFence(e.stageX,e.stageY,e.stageX,e.stageY);
// 					this._SafeStr_153(fence,e.stageX,e.stageY);
// 				}
// 			}
// 		}
// 	}

// 	public set selectedCellPower(power:number)
// 	{
// 		power = flash.checkInt(power);
// 		if(this._SafeStr_150)
// 		{
// 			this._SafeStr_150.power = power;
// 		}
// 		this._SafeStr_166 = flash.checkInt(power);
// 	}

// 	private _SafeStr_168()
// 	{
// 		var _self__:any = this;
// 		var win:com.bit101.components.Panel = <any>new Panel(this);
// 		win["shadow"] = false;
// 		win["width"] = 640;
// 		win["height"] = 19;
// 		var box:com.bit101.components.HBox = <any>new HBox(this);
// 		box["spacing"] = 10;
// 		this._SafeStr_149 = new ComboBox(box);
// 		this._SafeStr_149["addItem"](GUI.TXT_CREATE_MICROBE);
// 		this._SafeStr_149["addItem"](GUI.TXT_CREATE_WALL);
// 		this._SafeStr_149["selectedIndex"] = 0;
// 		this._SafeStr_149["numVisibleItems"] = 2;
// 		this._SafeStr_149["width"] = 150;
// 		this._aiSpeed = new ComboBox(box);
// 		this._aiSpeed["addItem"](GUI.TXT_NORMAL_AI);
// 		this._aiSpeed["addItem"](GUI.TXT_QUICK_AI);
// 		this._aiSpeed["addItem"](GUI.TXT_INSTANT_AI);
// 		this._aiSpeed["addItem"](GUI.TXT_DISABLE_AI);
// 		this._aiSpeed["selectedIndex"] = 0;
// 		this._aiSpeed["numVisibleItems"] = 4;
// 		this._aiSpeed["width"] = 150;
// 		if(this._lvl.cpuTurnPeriod >= 90)
// 		{
// 			this._aiSpeed["selectedIndex"] = 0;
// 		}
// 		else
// 		{
// 			if(this._lvl.cpuTurnPeriod >= 40)
// 			{
// 				this._aiSpeed["selectedIndex"] = 1;
// 			}
// 			else
// 			{
// 				if(this._lvl.cpuTurnPeriod > 0)
// 				{
// 					this._aiSpeed["selectedIndex"] = 2;
// 				}
// 				else
// 				{
// 					if(this._lvl.cpuTurnPeriod == 0)
// 					{
// 						this._aiSpeed["selectedIndex"] = 3;
// 					}
// 				}
// 			}
// 		}
// 		this._aiSpeed["addEventListener"](flash.Event.SELECT,function (e:egret.Event)
// 		{
// 			console.log(("AI speed: " + _self__._aiSpeed["selectedIndex"]));
// 			switch(_self__._aiSpeed["selectedIndex"])
// 			{
// 			case 0 :
// 				_self__._lvl.cpuTurnPeriod = 100;
// 				return ;
// 			case 1 :
// 				_self__._lvl.cpuTurnPeriod = 50;
// 				return ;
// 			case 2 :
// 				_self__._lvl.cpuTurnPeriod = 10;
// 				return ;
// 			case 3 :
// 				_self__._lvl.cpuTurnPeriod = 0;
// 				return ;
// 			}
// 		});
// 		this._maxPower = new HUISlider(box,0,0,GUI.TXT_MAX_POWER,function (e:egret.Event)
// 		{
// 			_self__.maxPower = _self__._maxPower["value"];
// 		});
// 		this._maxPower["minimum"] = 10;
// 		this._maxPower["maximum"] = 200;
// 		this._maxPower["value"] = this.maxPower;
// 		this._maxPower["width"] = 250;
// 		this._maxPower["labelPrecision"] = -1;
// 	}

// 	public getLevelCode():string
// 	{
// 		return (this._lvl.getCode());
// 	}

// 	public get selectedCellPower():number
// 	{
// 		return ((this._SafeStr_150)?this._SafeStr_150.power:this._SafeStr_166);
// 	}

// 	public set selectedCellType(_arg_1:number)
// 	{
// 		_arg_1 = flash.checkInt(_arg_1);
// 		if(this._SafeStr_150)
// 		{
// 			this._SafeStr_150.type = _arg_1;
// 		}
// 		this._SafeStr_151 = flash.checkInt(_arg_1);
// 	}

// 	private _SafeStr_162()
// 	{
// 		if(this._SafeStr_150)
// 		{
// 			this._lvl.delCell(this._SafeStr_150);
// 			this._SafeStr_169(null);
// 		}
// 		else
// 		{
// 			if(this._SafeStr_154)
// 			{
// 				this._lvl.delFence(this._SafeStr_154);
// 				this._SafeStr_153(null,0,0);
// 			}
// 		}
// 	}

// 	private _SafeStr_169(cell:Cell)
// 	{
// 		if(this._SafeStr_150)
// 		{
// 			this._SafeStr_150.filters = [];
// 			this._SafeStr_150 = null;
// 			if(this._SafeStr_148)
// 			{
// 				this._SafeStr_148["hide"]();
// 				this._SafeStr_148 = null;
// 			}
// 		}
// 		if(cell)
// 		{
// 			this._SafeStr_164 = true;
// 			this._SafeStr_150 = cell;
// 			this._SafeStr_150.filters = [this._SafeStr_167];
// 			if(<any>!this._SafeStr_148)
// 			{
// 				this._SafeStr_148 = this._SafeStr_158(this._SafeStr_159);
// 			}
// 			this._SafeStr_151 = flash.checkInt(cell.type);
// 			this._SafeStr_166 = flash.checkInt(cell.power);
// 		}
// 	}

// }

// flash.extendsClass("LevelEditor","egret.Sprite")
